use std::str::FromStr;


pub mod z_string;
mod tree;

mod map;

pub struct SeaCreature {
    pub animal_type :String,
    pub name :String,
    pub arms: i32,
    pub legs: i32,
    pub weapon: Option<String>,
    pub age:Option<u16>,
}

impl SeaCreature {

    pub fn p() {
        println!("self");
    }

    pub fn p1(&self) {
        println!("我的属性{}", self.name);
    }

    pub fn valid_fields(&self) -> Vec<String> {
        let mut v = Vec::new();
        v.push("name".to_string());
        v.push("cls".to_string());
       v.clone()
    }

}

#[cfg(test)]
mod test {
    use super::*;


}